import java.io.IOException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.io.File;

public class NewFile {
    public static void main(String[] args) throws Exception {
        fileSearch(new File("D:\\"),"WeChat.exe");
    }
    public static void fileSearch(File file,String name) throws Exception {
        if (file == null || !file.exists() || file.isFile()){
            return;
        }
            File[] files = file.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isFile()) {
                    if (f.getName().contains(name)) {
                        System.out.println("找到了：" + f.getAbsoluteFile());
                        Runtime runtime = Runtime.getRuntime();
                        runtime.exec(f.getAbsolutePath());
                    }
                } else {
                    fileSearch(f, name);
                }
            }
        }
    }
}

/*        File file = new File("D:\\software\\code\\2023_java\\2023_java_code");
        File[] files =  file.listFiles();
        System.out.println(Arrays.toString(files));
    }
}*/
/*    public static void main(String[] args) {
        File f = new File("D:\\software\\code\\2023_java\\2023_java_code");
        String[] strings = f.list();
        System.out.println(Arrays.toString(strings));
    }
}*/
/*    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\ccc.txt");
        File f2 = new File("D:\\software\\aaa\\sss.txt");
        System.out.println(f1.renameTo(f2));
    }
}*/
/*    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        System.out.println(f1.delete());
    }
}*/
/*    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");

        //1.0 判断当前文件对象，对应的文件路径是否存在，存在返回true,反之。
        System.out.println(f1.exists());
        //输出结果为：true

        //2.0 判断当前文件对象指代的是否是文件，是文件返回true，反之。
        System.out.println(f1.isFile());
        //输出结果为：true

        //3.0 判断当前文件对象指代的是否是文件夹，是文件返回true，反之。
        System.out.println(f1.isDirectory());
        //输出结果为：false

        //4.0 获取文件的名称（包含后缀）
        String name = f1.getName();
        System.out.println(name);
        //输出结果为：bbb.txt

        //5.0 获取文件的大小，返回字节个数,返回类型为 long 类型。
        long len = f1.length();
        System.out.println(len);
        //输出结果为：0

        //6.0 获取文件的最后修改的时间，返回类型为 long 类型。
        long lastTime = f1.lastModified();
        System.out.println(lastTime);
        //输出结果为：1698570082109
        //这里可以格式化
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = simpleDateFormat.format(lastTime);
        System.out.println(time);
        //输出结果为：2023-10-29 17:01:22

        //7.0 获取创建文件对象时，使用的路径。
        String path = f1.getPath();
        System.out.println(path);
        //输出结果为：D:\software\aaa\bbb.txt

        //8.0 获取创建文件对象时，使用的绝对路径。
        String absolutePath = f1.getAbsolutePath();
        System.out.println(absolutePath);
        //输出结果为：D:\software\aaa\bbb.txt

    }
}*/


/*    public static void main(String[] args) {

        );



    }*/

/*        //先要定义 File 类对象
        File f1 = new File("D:\\software\\aaa\\ddd");
        //创建文件
        try {
            f1.createNewFile();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}*/
/*    public static void main(String[] args) {
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        File f2 = new File("D:/software/aaa/bbb.txt");
        File f3 = new File("D:"+File.separator+"software"+File.separator+"aaa"+File.separator+"bbb.txt");
        System.out.println(f3.getAbsoluteFile());
    }
}*/
/*    public static void main(String[] args) {
        //1. 创建文件对象
        File f1 = new File("D:\\software\\aaa\\bbb.txt");
        //这样就可以得到了该路径的文件对象了。

        //2. 创建文件夹对象
        File f2 = new File("D:\\software\\aaa");
        //像这样就可以得到了该路径的文件夹对象了。

        //3. 第二种创建文件对象的方式
        File f3 = new File(f2,"bbb.txt");

        //4. 第四种创建文件对象的方式
        File f4 = new File("D:\\software\\aaa","bbb.txt");
    }
}*/
